package com.hspedu.Object;

/**
 * 默认返回：全类名+@+哈希值的十六进制【查看Object的toString方法】
 * 子类往往重写toString方法，用于返回对象的属性信息
 * public String toString() {
 *         return getClass().getName() + "@" + Integer.toHexString(hashCode());
 *     }
 *
 * 重写toString方法，打印对象或拼接对象时，都会自动调用该对象的toString 形式
 * 案例演示：Monster [name, job, sal]
 * 当直接输出一个对象时，toString方法会被默认的调用
 */
public class ToString_ {
    public static void main(String[] args) {
        Monster monster = new Monster();
        System.out.println(monster);
        System.out.println(monster.toString());
        Object o = new Monster();
    }
}

class Monster{
    String name;
    String job;
    int sal;

    @Override
    public String toString() {
        return "Monster{" +
                "name='" + name + '\'' +
                ", job='" + job + '\'' +
                ", sal=" + sal +
                '}';
    }
}
